<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2015/5/13
 * Time: 13:34
 */
namespace Admin\Controller;
use Think\Controller;

class CommonController extends Controller
{
    function __construct(){

        parent::__construct();

        $yanGsession=session("AdminUser");
        $AuthSession=session("AdminAuth");

        $this->assign("AdminUser",$yanGsession);
        /*
         * 1：获得url
         * 2：将authSession当前用户的权限转换为数组,摘取出控制器和模型部分
         * 3：将url转换为数组后，再和$AuthSession中的权限列表进行匹对
         * */

        $url=$_SERVER['PHP_SELF'];
        $yanG1=str_ireplace("/thinkphp/index.php/admin/","",$url);     // 剥离url中 控制器/方法 之前的地址内容
        $yanG2=str_ireplace(".html","",$yanG1);      // $yanG2 为 摘取出的 控制器/方法

        /*判断一下  剥离之后的url 是否带参数 */

        $yanG22=substr_count($yanG2,"/");
        if($yanG22>1)   //判断yanG22 的值是否大于1 ，如果大于1，说明URL中带有参数, 需要剥离url中的参数
        {
            $yanG33=explode("/",$yanG2);    // 将url字符串打散
            unset($yanG33[2]);
            unset($yanG33[3]);   // 两次的unset剥离出  控制器和方法名称
            $yanG44=implode("/",$yanG33);     //   将处理后的数组重新组成，新的字符串
            $yanG3=array_search($yanG44,$AuthSession);
        }else{
            $yanG3=array_search($yanG2,$AuthSession);   // 如果url中没有所带的参数,那就不用做再次剥离的处理过程
        }

        /*判断一下  剥离之后的url 是否带参数 END*/
        if($yanG3==true||$yanG3=="0")
        {
            return true;
        }else{
            $this->redirect('Index/index');
        }

        if(empty($yanGsession)){    // 没有登录的请况下

            $this->redirect("Login/index");
        }else{     // 如果用户登录成功
            $this->assign("AdminUser",$yanGsession);
        }
    }
}